iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
1

昨天微人稍微提到 HTTP method 是使用動詞(Verbs)與伺服器溝通,這些動詞也分別是代表不同的動作。今天我們來用一個簡單方法來聊聊吧!

GET

這個方法用來讀取資料,並不會讓任何資料做更變。以網頁來說當我們打入網址,瀏覽會發出 GET 方法請求到那個網址去,並且拿那包資訊回來並顯示出來讓我們看到。我們平常使用 GET 方法單純是希望能夠讀取網頁資料但不會有任何資料更變。

HEAD

這個方法是用來讀取資料表頭,簡單來說像是我們看電影之前會先看電影預告、簡介的概念,雖然還沒看過資料本身,但可以先了解資訊組成。

POST

提交一個實體的資源,基本上會改變改變伺服器的狀態或副作用(side effect)。POST 方法其實是代表的是今天我要做這個動作,並且夾帶資訊( key, value )給瀏覽器同時提交到資訊,與 GET 方法不同的是,會傳回一個傳輸結果回來。

PATCH

這是 ”修改“ 方法,通常我們會使用在網站上對於局部的頁面做修改,像是我們寫功課時寫錯字,使用修正液塗掉修改上去,但不會影響其他內容。

PUT

這跟 PATCH 方法有點像,只是 PUT 方法是會取代指定資源所酬載請求(request payload)的所有表現,是不是文言文?簡單來說這也是一種 ”修改“ 的方法,但跟 PUT 方法不同的是,當我們送出去這個修改是完全覆蓋原本的全部頁面,也可以說是一種取代。

DELETE

明白說就是用來刪除指定資源。

CONNECT

官方的說法是:指定資源標明的伺服器之間,建立隧道(tunnel)。這完全是我的知識盲區,不知道我該怎麼說明了。

OPTIONS

方法描述指定資源的溝通方法(communication option)。

TRACE

這是一個相當冷門的方法,簡單說明就是發出一整包資訊給對方(或許是瀏覽器、機器),並希望透過 TRACE 方法取得相同回應。但這個值有可能與當初發出的資訊是不一樣的,Why?因為對方收到資訊後因為某些狀況導致執行出現錯誤,而錯誤值也就會一併的回傳。但為何這方法很不常用呢?說明白就是這功能大多是開發者會使用到,但當然開發時是有很多開發套件可以直接更有效旅的操作,另外,幾乎所有的網站都不會開啟 TRACE ,因為如果是公開的網域,可以讓人人都用這方法去拿取網站資訊,這安全性是不是有點弱呢?

好啦!今天就先聊到這囉!明天見,掰餔。


上一篇
resources 的8條路徑
下一篇
微聊 簡單做個 API 使用 request
系列文
微程式語言白話文運動30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言